1. Field of the Invention
The present invention relates to a system for generating a transaction profile in a computer system performance measuring and analyzing system, a method of generating a transaction profile using such a system for generating a transaction profile, and a program for performing such a method of generating a transaction profile.
2. Description of the Related Art
Computer system performance is analyzed by a conventional computer system performance measuring and analyzing system according to the following process (see Japanese laid-open patent publication No. 2003-157185 and “Measurement and analysis of system operation using a hybrid monitoring process”, Information Processing Society Research Report, Mar. 16, 1991, Vol. 91, No. 28 (OS-50), p. 81–87). 1) A measuring probe is embedded in the software of a computer to be measured. 2) A program to be measured is executed. 3) A profile generator analyzes the performance using, as input data, event trace data generated as a result of the program sequence. Details of event trace data are shown in FIG. 1 of the accompanying drawings.
The profile generator performs the following two types of tabulating operation using process switching events (events “resume” and “save” in FIG. 1): 1) The difference between a time (e.g., t4 in FIG. 1) when an event “save” occurs and a time (e.g., t1 in FIG. 1) when a corresponding event “resume” occurs is determined to calculate a CPU consumption time for the process run in the time zone (the process “web” in the time zone t1–t4 in FIG. 1), and such CPU consumption times are tabulated. 2) Since communication events (e.g., an event “receive” occurring at time t2 and an event “send” occurring at time t3 in the time zone t1–t4) occurring between an event “save” (e.g., t4 in FIG. 1) and an event “resume” (e.g., t1 in FIG. 1) mean communications that are performed by the process run in the time zone (the process “web” in the time zone t1–t4 in FIG. 1), data sizes for respective communication paths (each uniquely determined by a combination of its own port number, the companion address, and the companion port number) of communications performed by the process are tabulated. These tabulating operations make it possible to obtain figures on consumed resource quantities (CPU consumption times) and figures on communications (transmitted data sizes and received data sizes for respective communication paths) for respective processes.
According to the conventional event tracing analysis, however, in order to obtain transaction information (figures on consumed resource quantities and communications) about transaction processing required for a system performance simulation based on figures tabulated for respective processes, it is necessary to 1) identify processes with respect to the transaction processing and 2) check and tabulate profiles about the processes with respect to the transaction processing.
If a transaction is processed by software components as a plurality of program parts, then in order to perform a simulation on the assumption that the software components are placed in different servers, profiles need to be tabulated for a set of processes (processing group) involved in the processing of the transaction with the software components. To meet such a need, it is necessary to 1) identify processes involved in the processing (i.e., designate names or process numbers of those processes) and 2) determine an association between those processes and processing groups.
The above practice is possible if all computer programs used by a system are self-made products, and software components and execution statuses are recognized. However, if commercially available package software and self-made software are combined into a system, as practiced at present, then it would be difficult and not practical to attain detailed information about components and execution statuses of package software. According to the conventional practice, therefore, it is difficult to make a detailed analysis of loaded locations with respect to each component and only insufficient information is available for optimizing system performance.